﻿// Decompiled with JetBrains decompiler
// Type: DnProcessSimulateCommands.ExportToRTR.CApExportToRTRCollectionExporter`1
// Assembly: DnProcessSimulateCommands, Version=2402.0.0.890, Culture=neutral, PublicKeyToken=null
// MVID: A885D881-AEDF-447E-852A-6F13102E089C
// Assembly location: C:\Program Files\Tecnomatix_2402\eMPower\DotNetCommands\DnProcessSimulateCommands.dll

using System.Collections.Generic;
using Tecnomatix.Engineering;


namespace DnProcessSimulateCommands.ExportToRTR{

public abstract class CApExportToRTRCollectionExporter<T>
{
  public HashSet<T> Objects { get; } = new HashSet<T>();

  internal HashSet<ITxObject> Exported3D { get; } = new HashSet<ITxObject>();

  public abstract void Export(CApExportToRTRXmlWriter writer, string path, string worldLink);

  public void Add(T obj)
  {
    if (this.Objects.Contains(obj))
      return;
    this.Objects.Add(obj);
  }

  public bool Contains(T obj) => this.Objects.Contains(obj);

  public void Remove(T obj) => this.Objects.Remove(obj);
}
